home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / PowerPC / pdflib / bind / vb / pdflib_vb.idl < prev    next >
Text File  |  2000-05-16  |  16KB  |  291 lines

  1. /*---------------------------------------------------------------------------*
  2.  |        PDFlib - A library for dynamically generating PDF files            |
  3.  +---------------------------------------------------------------------------+
  4.  |        Copyright (c) 1997-1999 Thomas Merz. All rights reserved.          |
  5.  +---------------------------------------------------------------------------+
  6.  |    This software is not in the public domain.  It is subject to the       |
  7.  |    "Aladdin Free Public License".  See the file license.txt for details.  |
  8.  |    This license grants you the right to use and redistribute PDFlib       |
  9.  |    under certain conditions. Among other things, the license requires     |
  10.  |    that the copyright notice and this notice be preserved on all copies.  |
  11.  |    This requirement extends to ports to other programming languages.      |
  12.  |                                                                           |
  13.  |    In short, you are allowed to develop and use PDFlib-based software     |
  14.  |    as long as you don't sell it. Commercial use of PDFlib requires a      |
  15.  |    commercial license which can be obtained from the author of PDFlib.    |
  16.  |    Contact information can be found in the accompanying PDFlib manual.    |
  17.  |    PDFlib is distributed with no warranty of any kind. Commercial users,  |
  18.  |    however, will receive warranty and support statements in writing.      |
  19.  *---------------------------------------------------------------------------*/
  20.  
  21. // pdflib.idl
  22. //
  23. // IDL file for the PDFlib type library pdflib.tlb
  24. //
  25.  
  26. [    uuid(17A5ABE0-473D-11d3-95D3-0010A4004174),    // our unique UID
  27.     helpstring("PDFlib 2.01 Type library by Thomas Merz"),
  28.     lcid (0x00000000),                // language 0 = neutral
  29.     version(2.01)
  30. ]
  31.  
  32. library PDFlib {            // library name
  33.  
  34. [ dllname("pdflib_vb.dll") ]
  35.  
  36. module PDFlib {                // class name
  37.  
  38.  
  39. [entry("PDF_boot"), helpstring("Boot PDFlib (currently not required)"),]
  40. void PDF_boot(void);
  41.  
  42. [entry("PDF_shutdown"), helpstring("Shut down PDFlib (currently not required)"),]
  43. void PDF_shutdown(void);
  44.  
  45. [entry("PDF_get_opaque"), helpstring("Fetch opaque application pointer stored in PDFlib"),]
  46. void *PDF_get_opaque([in] long p);
  47.  
  48. [entry("PDF_new2"), helpstring("Create new PDF object, optionally supplying error handler and memory allocation routines"),]
  49. long PDF_new2([in] long errorhandler, [in] long allocproc, [in] long reallocproc, [in] long freeproc, [in] long opaque);
  50. //long PDF_new2([in] void (*errorhandler)(long p, int type, LPCSTR msg), [in] long allocproc, [in] long reallocproc, [in] long freeproc, [in] long opaque);
  51.  
  52. [entry("PDF_new"), helpstring("Create a new PDF object"),]
  53. long PDF_new(void);
  54.  
  55. [entry("PDF_delete"), helpstring("Delete a PDF object"),]
  56. void PDF_delete([in] long p);
  57.  
  58. [entry("PDF_open_file"), helpstring("Open a new PDF file associated with p, using the supplied file name"),]
  59. int PDF_open_file([in] long p, [in] LPCSTR filename);
  60.  
  61. [entry("PDF_close"), helpstring("Close the generated PDF file"),]
  62. void PDF_close([in] long p);
  63.  
  64. [entry("PDF_begin_page"), helpstring("Start a new page"),]
  65. void PDF_begin_page([in] long p, [in] float width, [in] float height);
  66.  
  67. [entry("PDF_end_page"), helpstring("Finish the page"),]
  68. void PDF_end_page([in] long p);
  69.  
  70. [entry("PDF_set_transition"), helpstring("Set a transition effect for the current page"),]
  71. void PDF_set_transition([in] long p, [in] LPCSTR type);
  72.  
  73. [entry("PDF_set_duration"), helpstring("Set the duration for a page transition effect"),]
  74. void PDF_set_duration([in] long p, [in] float t);
  75.  
  76. [entry("PDF_set_parameter"), helpstring(""),]
  77. void PDF_set_parameter([in] long p, [in] LPCSTR key, [in] LPCSTR value);
  78.  
  79. [entry("PDF_show"), helpstring("Print text in the current font at the current position"),]
  80. void PDF_show([in] long p, [in] LPCSTR text);
  81.  
  82. [entry("PDF_show_xy"), helpstring("Print text in the current font at (x, y)"),]
  83. void PDF_show_xy([in] long p, [in] LPCSTR text, [in] float x, [in] float y);
  84.  
  85. [entry("PDF_continue_text"), helpstring("Print text at the next line"),]
  86. void PDF_continue_text([in] long p, [in] LPCSTR text);
  87.  
  88. [entry("PDF_set_leading"), helpstring("Set the distance between text baselines"),]
  89. void PDF_set_leading([in] long p, [in] float l);
  90.  
  91. [entry("PDF_set_text_rise"), helpstring("Set the text rise parameter"),]
  92. void PDF_set_text_rise([in] long p, [in] float rise);
  93.  
  94. [entry("PDF_set_horiz_scaling"), helpstring("Set horizontal text scaling in percent"),]
  95. void PDF_set_horiz_scaling([in] long p, [in] float scale);
  96.  
  97. [entry("PDF_set_text_rendering"), helpstring("Set text rendering mode"),]
  98. void PDF_set_text_rendering([in] long p, [in] int mode);
  99.  
  100. [entry("PDF_set_text_matrix"), helpstring("Set a transformation matrix to be applied to the current font"),]
  101. void PDF_set_text_matrix([in] long p, [in] float a, [in] float b, [in] float c, [in] float d, [in] float e, [in] float f);
  102.  
  103. [entry("PDF_set_text_pos"), helpstring("Set the text output position to (x, y)"),]
  104. void PDF_set_text_pos([in] long p, [in] float x, [in] float y);
  105.  
  106. [entry("PDF_set_char_spacing"), helpstring("Set the horizontal character spacing in text space units"),]
  107. void PDF_set_char_spacing([in] long p, [in] float spacing);
  108.  
  109. [entry("PDF_set_word_spacing"), helpstring("Set the horizontal word spacing in text space units"),]
  110. void PDF_set_word_spacing([in] long p, [in] float spacing);
  111.  
  112. [entry("PDF_get_fontname"), helpstring("Return the name of the current font"),]
  113. LPCSTR PDF_get_fontname([in] long p);
  114.  
  115. [entry("PDF_get_fontsize"), helpstring("Return the size of the current font"),]
  116. float PDF_get_fontsize([in] long p);
  117.  
  118. [entry("PDF_get_font"), helpstring("Return the identifier of the current font"),]
  119. int PDF_get_font([in] long p);
  120.  
  121. [entry("PDF_stringwidth"), helpstring("Return the width of text in an arbitrary font which has been selected with PDF_findfont()"),]
  122. float PDF_stringwidth([in] long p, [in] LPCSTR text, [in] int font, [in] float size);
  123.  
  124. [entry("PDF_findfont"), helpstring("Prepare a font for later use with PDF_setfont(). The metrics will be loaded, and if embed is nonzero, the font file will be checked (but not yet used)."),]
  125. int PDF_findfont([in] long p, [in] LPCSTR fontname, [in] LPCSTR encoding, [in] int embed);
  126.  
  127. [entry("PDF_setfont"), helpstring("Set the current font in the give size. The font descriptor must have been retrieved via PDF_findfont()"),]
  128. void PDF_setfont([in] long p, [in] int font, [in] float fontsize);
  129.  
  130. [entry("PDF_save"),    helpstring("Save the current graphics state"),]
  131. long PDF_save ([in] long p);
  132.  
  133. [entry("PDF_restore"),    helpstring("Restore the most recently saved graphics state"),]
  134. long PDF_restore ([in] long p);
  135.  
  136. [entry("PDF_translate"), helpstring("Translate the origin of the coordinate system to (tx, ty)"),]
  137. long PDF_translate ([in] long p, [in] float tx, [in] float ty);
  138.  
  139. [entry("PDF_scale"), helpstring("Scale the coordinate system by (sx, sy)"),]
  140. void PDF_scale([in] long p, [in] float sx, [in] float sy);
  141.  
  142. [entry("PDF_rotate"), helpstring("Rotate the coordinate system by phi degrees"),]
  143. long PDF_rotate ([in] long p, [in] float phi);
  144.  
  145. [entry("PDF_setdash"), helpstring("Set the current dash pattern to d1 white and d2 black units"),]
  146. void PDF_setdash([in] long p, [in] float d1, [in] float d2);
  147.  
  148. [entry("PDF_setpolydash"), helpstring("Set a more complicated dash pattern defined by an array"),]
  149. void PDF_setpolydash([in] long p, [in] float *darray, [in] int length);
  150.  
  151. [entry("PDF_setflat"), helpstring("Set the flatness to a value between 0 and 100 inclusive"),]
  152. void PDF_setflat([in] long p, [in] float flat);
  153.  
  154. [entry("PDF_set_fillrule"), helpstring("Set the current fill rule to winding or evenodd"),]
  155. void PDF_set_fillrule([in] long p, [in] LPCSTR *fillrule);
  156.  
  157. [entry("PDF_setlinejoin"), helpstring("Set the line join parameter to a value between 0 and 2 inclusive"),]
  158. void PDF_setlinejoin([in] long p, [in] float join);
  159.  
  160. [entry("PDF_setlinecap"), helpstring("Set the linecap parameter to a value between 0 and 2 inclusive"),]
  161. void PDF_setlinecap([in] long p, [in] float cap);
  162.  
  163. [entry("PDF_setmiterlimit"), helpst